﻿using System;
using System.Data;
using System.Windows.Forms;

namespace Operacional
{
    public partial class frmTarefas : Form
    {
        private readonly String _linha;        

        public frmTarefas()
        {
            InitializeComponent();
            GridTarefas.CellDoubleClick += GridTarefas_CellDoubleClick;
            _linha = frmLinhas.numLinha;
        }

        private void frmTarefas_Load(object sender, EventArgs e)
        {
            Dock = DockStyle.Fill;            

            if (frmEntrada.dsFilkemp.Tables["dtTarefas"] != null) frmEntrada.dsFilkemp.Tables["dtTarefas"].Clear();
            frmEntrada.daTarefas.Fill(frmEntrada.dsFilkemp.Tables["dtTarefas"]);

            lblTitulo.Text = lblTitulo.Text + _linha;

            GridTarefas.DataSource = frmEntrada.dsFilkemp.Tables["dtTarefas"];
            GridTarefas.Columns[2].Visible = false;
            GridTarefas.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
            GridTarefas.Columns[0].HeaderText = "Código";
            GridTarefas.Columns[1].HeaderText = "Descrição";
            GridTarefas.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
        }

        private void GridTarefas_CellDoubleClick(object sender, EventArgs e)
        {             
            if (MessageBox.Show("Deseja Iniciar a Tarefa?", "Iniciar Tarefa", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {               
                //Vai Buscar Nome da Tarefa pelo nome do Botao
                frmLinhas.dvTarefas.RowFilter = "Tare_Cod Like '" + GridTarefas.CurrentRow.Cells["Tare_Cod"].Value + "'";

                #region Nova Row
                DataRow dRow = frmEntrada.dsFilkemp.Tables["dtLinhas_Tarefas"].NewRow();

                dRow["Linha"] = _linha;
                dRow["Tarefa"] = frmLinhas.dvTarefas[frmLinhas.dvTarefas.Count - 1]["Tare_Cod"].ToString();
                dRow["Descricao"] = frmLinhas.dvTarefas[frmLinhas.dvTarefas.Count - 1]["Tare_Des"].ToString();
                dRow["Data"] = DateTime.Now;
                dRow["Estado"] = "I";
                dRow["Utilizador"] = frmEntrada.dvUsers[0][0].ToString();
                dRow["Ordem"] = frmLinhas.dvLinhasTarefas[frmLinhas.dvLinhasTarefas.Count - 1]["Ordem"].ToString();

                frmEntrada.dsFilkemp.Tables["dtLinhas_Tarefas"].Rows.Add(dRow);
                frmEntrada.daLinhasTarefas.Update(frmEntrada.dsFilkemp.Tables["dtLinhas_Tarefas"]);
                frmEntrada.dsFilkemp.Tables["dtLinhas_Tarefas"].Clear();
                frmEntrada.daLinhasTarefas.Fill(frmEntrada.dsFilkemp.Tables["dtLinhas_Tarefas"]);

                #endregion

                frmDisplay Display = new frmDisplay();
                Display.MdiParent = Program.entrada;
                Display.Show();

                Close();
            }
        }

        private void btnEnd_Click(object sender, EventArgs e)
        {
            frmManutencao Manutenção = new frmManutencao { MdiParent = Program.entrada };
            Manutenção.Show();
            Close();
        }
    }
}
